﻿#include"snake.h"

//光标位置
void SetPos(short x, short y)
{
	COORD pos = { x, y };
	HANDLE hOutput = NULL;
	//获取标准输出的句柄(⽤来标识不同设备的数值)
	hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
	//设置标准输出上光标的位置为pos
	SetConsoleCursorPosition(hOutput, pos);
}

void WelcomeGame()
{
	SetPos(40, 10);
	printf("欢迎来到贪吃蛇游戏\n");
	SetPos(40, 25);
	system("pause");
	system("cls");
	SetPos(35, 10);
	printf("按 ↑ ↓ ← → 控制方向，按F3加速，按F4减速\n");
	SetPos(35, 11);
	printf("加速能获得更多的分数\n");
	SetPos(40, 25);
	system("pause");
	system("cls");
}

//游戏地图
void GameMap()
{
	//上
	for (int i = 0; i < 26; i++)
	{
		wprintf(L"%lc", WALL);
	}
	//下
	SetPos(0, 26);
	for (int i = 0; i < 26; i++)
	{
		wprintf(L"%lc", WALL);
	}
	//左
	for (int i = 1; i <= 25; i++)
	{
		SetPos(0, i);
		wprintf(L"%lc", WALL);
	}
	//右
	for (int i = 1; i <= 25; i++)
	{
		SetPos(50, i);
		wprintf(L"%lc", WALL);
	}
	system("pause");
}

//环境初始化
void GAMESTART(Snake* snake)
{
	//光标、界面大小、界面名字
	system("mode con cols=100 lines=30");
	system("title 贪吃蛇");

	HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
	//影藏光标操作
	CONSOLE_CURSOR_INFO CursorInfo;
	GetConsoleCursorInfo(hOutput, &CursorInfo);//获取控制台光标信息
	CursorInfo.bVisible = false; //隐藏控制台光标
	SetConsoleCursorInfo(hOutput, &CursorInfo);//设置控制台光标状态

	//打印欢迎界面
	WelcomeGame();

	//游戏地图
	GameMap();
}

